{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# ignore this\n",
    "%load_ext music21.ipython21"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# User's Guide, Chapter 3: Pitches, Durations, and Notes again"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now that you've made a couple of `Note` objects, it's time\n",
    "to dig a little deeper into what makes a `Note` really a\n",
    "`Note`, namely, :ref:`modulePitch`, and :ref:`moduleDuration`\n",
    "objects."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## The Pitch object"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Since we've already covered `Note` objects, :class:`~music21.pitch.Pitch` objects\n",
    "will be a breeze.  Just like how the `Note` object is found\n",
    "in the `note` module, the `Pitch` object is found in the\n",
    "`pitch` module.\n",
    "\n",
    "Let's create a `Pitch`.  Like we did with `Notes`, just\n",
    "class the class with a note name, such as `B` with\n",
    "the optional symbols for sharp or flat, \n",
    "(*#* or *-* respectively). \n",
    "\n",
    "You can put an octave number after the name (4 = low treble clef), but you\n",
    "don't have to:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "from music21 import *\n",
    "p1 = pitch.Pitch('b-4')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here we'll use a more abstract variable name, `p1`\n",
    "for our first `Pitch`, just in case we change the pitch\n",
    "later (via `.transpose()` or something else)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Just like we saw with `Notes` there are a lot of\n",
    "attributes (a.k.a. properties; we'll use the term\n",
    "interchangeably for a bit before we talk about the\n",
    "difference) and methods that describe and change\n",
    "pitches.  The first three will be old hat from\n",
    "`Note` objects:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "p1.octave"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "10"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "p1.pitchClass"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'B-'"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "p1.name"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-1.0"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "p1.accidental.alter"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here are two more that you can use.  The first\n",
    "is pretty self-explanatory.  The second gives the\n",
    "value of the `Pitch` in the older, \"MIDI\" representation\n",
    "that is still in use today.  It's a number between 0 and\n",
    "127 where middle C (C4) is 60 and C#4/Db4 is 61, B3 is 59,\n",
    "etc."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'B-4'"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "p1.nameWithOctave"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "70"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "p1.midi"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Most of these attributes can be changed (they are\n",
    "\"settable properties\" in Python speak)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "When an attribute is set, the `Pitch` object changes whatever\n",
    "is necessary to reflect the new value:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'D#3'"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "p1.name = 'd#'\n",
    "p1.octave = 3\n",
    "p1.nameWithOctave"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And our familiar `.transpose()` method also appears on\n",
    "`Pitch` as well.  Remember that `p1` is now a `D#`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<music21.pitch.Pitch C##4>"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "p2 = p1.transpose('M7')\n",
    "p2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Notice that at the command line, just printing the variable name\n",
    "gives you the representation `<music21.pitch.Pitch C##4>`.  You\n",
    "can also get this by typing `repr(p2)`."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "So, there's really nothing new about `Pitch` objects\n",
    "that you didn't already know from learning about `Notes`. So\n",
    "why the two different objects?  It turns out, they are so\n",
    "similar because actually every `Note` object has a `Pitch`\n",
    "object inside it (like the monster in *Alien* but more\n",
    "benign).  Everything that we did with the `note.Note`\n",
    "object, we could do with the `note.Note.pitch` object instead:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'C#'"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "csharp = note.Note('C#4')\n",
    "csharp.name"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'C#'"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "csharp.pitch.name"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "csharp.octave"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "csharp.pitch.octave"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "But pitch objects have a lot more to offer for more technical working, for instance, `Pitch` objects know their names in Spanish:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'do sostenido'"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "csharp.pitch.spanish"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Notes don't:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "tags": [
     "nbval-raises-exception"
    ]
   },
   "outputs": [
    {
     "ename": "AttributeError",
     "evalue": "'Note' object has no attribute 'spanish'",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-16-a0f0e2502262>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mcsharp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mspanish\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;31mAttributeError\u001b[0m: 'Note' object has no attribute 'spanish'"
     ]
    }
   ],
   "source": [
    "csharp.spanish"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here are some other things you can do with Pitch objects.  Get the sharp printed nicely:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "C♯\n"
     ]
    }
   ],
   "source": [
    "print(csharp.pitch.unicodeName)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Get some enharmonics -- these are methods, so we add `()` to them:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "D-4\n",
      "B##3\n"
     ]
    }
   ],
   "source": [
    "print( csharp.pitch.getEnharmonic() )\n",
    "print( csharp.pitch.getLowerEnharmonic() )"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "*By the way, you know how we said that you shouldn't have\n",
    "a variable named* `pitch` *because there's already a module\n",
    "named* `pitch`. *You might wonder why* `Note` *objects can\n",
    "have an attribute named* `pitch` *without causing any problems.\n",
    "It's because the* `.pitch` *attribute is always attached to\n",
    "a* `Note` *, so it's never used without a prefix of some sort\n",
    "(in this case,* `csharp.pitch` *), and that's enough to\n",
    "prevent any trouble.*"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "So far, it looks like `Pitch` objects can do everything `Note`\n",
    "objects can do and more.  So why do we need `Note` objects?\n",
    "It's because they also have `Duration` attributes, as we'll see\n",
    "in the next section. Without a `Duration` attribute, you cannot put\n",
    "an object into a Measure or show it on your screen."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Carving time with Duration objects\n",
    "-------------------------------------------------"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For a `Note` to occupy musical space, it has to last a certain\n",
    "amount of time.  We call that time the `Note`'s :class:`~music21.duration.Duration`.\n",
    "`Duration` objects are ubiquitous in music21. Nearly all objects have, \n",
    "or can have, a `Duration`. A `Duration` object can represent just about \n",
    "any time span.\n",
    "\n",
    "`Duration` objects are best used when they're attached to something\n",
    "else, like a `Note` or a `Rest`, but for now, let's look at what\n",
    "we can do with them on their own.\n",
    "\n",
    "`Duration` objects reside in the `duration` module.  When you create\n",
    "a `Duration` object, you can say what type of duration you want it to\n",
    "be when you create it.\n",
    "\n",
    "Here we'll create the duration of a half note:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "halfDuration = duration.Duration('half')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The string \"half\" is called the \"type\" of the `Duration`.\n",
    "Music21 `Durations` use the common American duration types:\n",
    "\"whole\", \"half\", \"quarter\", \"eighth\", \"16th\", \"32nd\", \"64th\".\n",
    "Note that for durations shorter than an eighth note, we use\n",
    "numbers instead of spelling out the whole name of the `Duration`\n",
    "type.  Music21 also supports less commonly used types such as\n",
    "\"breve\" (2 whole notes), \"longa\" (4 whole notes), and \"maxima\"\n",
    "(8 whole notes) and on the other side, \"128th\", \"256th\", etc.\n",
    "down to \"2048th\" notes. (Some of these very long and very short\n",
    "notes can't be displayed in many musical notation systems,\n",
    "but it's good to know that we're ready when they are).\n",
    "\n",
    "The other standard way of creating a `Duration` is by passing it a \n",
    "number when it is created.  That number represents how many quarter\n",
    "notes long it is.  So we could have created our half note `Duration`\n",
    "by saying `2` or `2.0`.  But we can also create `Durations` that\n",
    "aren't exactly \"whole\", \"half\", \"quarter\", etc.  Let's create a\n",
    "dotted quarter note, which is 1.5 quarter notes long:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "dottedQuarter = duration.Duration(1.5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As with the `Pitch` and `Note` objects we've already seen, there\n",
    "are a bunch of attributes that `Duration` objects have.  The\n",
    "most important one is `.quarterLength`.  The :attr:`~music21.duration.Duration.quarterLength` \n",
    "of our `dottedQuarter` variable is of course 1.5: we set it to be.\n",
    "But just as importantly, the `halfDuration` object also\n",
    "has its quarterLength set:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.5"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dottedQuarter.quarterLength"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2.0"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "halfDuration.quarterLength"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The `.type` attribute tells you what general type of `Duration`\n",
    "you have:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'half'"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "halfDuration.type"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'quarter'"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dottedQuarter.type"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The `type` attribute cannot be everything that describes the\n",
    "`Duration`, there has to be some place where music21 keeps\n",
    "track of the fact that the `dottedQuarter` variable has a dot\n",
    "(otherwise it wouldn't have a `quarterLength` of 1.5).  You'll\n",
    "find the attribute called `.dots`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "halfDuration.dots"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dottedQuarter.dots"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The attributes of `dots`, `type`, and `quarterLength` are\n",
    "actually special attributes called \"properties\".  A property\n",
    "is an attribute that is smart in some way.  Let's change the\n",
    "number of dots on our `dottedQuarter` object and see what\n",
    "happens to the `quarterLength` property:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.75"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dottedQuarter.dots = 2\n",
    "dottedQuarter.quarterLength"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.875"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dottedQuarter.dots = 3\n",
    "dottedQuarter.quarterLength"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.9375"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dottedQuarter.dots = 4\n",
    "dottedQuarter.quarterLength"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Or let's change the `quarterLength` of the dottedQuarter and\n",
    "see what happens to the `type` and `dots`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'16th'"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dottedQuarter.quarterLength = 0.25\n",
    "dottedQuarter.type"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dottedQuarter.dots"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "QuarterLengths are so important to music21 that we'll sometimes\n",
    "abbreviate them as `qL` or `qLs`.  Almost everything that is\n",
    "measured in music21 is measured in `qLs`.  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Music21 can also deal with other `quarterLengths` such as 0.8,\n",
    "which is 4/5ths of a quarter note, or 1/3 which is an eighth note triplet."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(You can go ahead and make triplets or other :class:`~music21.duration.Tuplet`\n",
    "now, but we'll get to triplets later)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Back to Notes\n",
    "-------------------------------------------------"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "So now you can see the advantage of working with `Note` objects: they\n",
    "have both a `.pitch` attribute, which contains a `Pitch` object, and\n",
    "a `.duration` attribute, which contains a `Duration` object.  The\n",
    "default `Pitch` for a `Note` is `C` (meaning `C4`) \n",
    "and the default `Duration` is 1.0, or a quarter note."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<music21.pitch.Pitch C4>"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "n1 = note.Note()\n",
    "n1.pitch"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<music21.duration.Duration 1.0>"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "n1.duration"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "But we can play around with them:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "n1.pitch.nameWithOctave = 'E-5'\n",
    "n1.duration.quarterLength = 3.0"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "and then the other properties change accordingly:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'half'"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "n1.duration.type"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "n1.duration.dots"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'E-'"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "n1.pitch.name"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<accidental flat>"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "n1.pitch.accidental"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "5"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "n1.octave"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We already said that some of the attributes of `Pitch` can\n",
    "also be called on the `Note` object itself.  The same is\n",
    "true for the most important attributes of `Duration`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'E-'"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "n1.name"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3.0"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "n1.quarterLength"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's change the quarterLength back to 1.0 for now:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [],
   "source": [
    "n1.quarterLength = 1.0"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`Notes` can do things that neither `Pitch` or `Duration`\n",
    "objects can do.  For instance, they can have lyrics.\n",
    "Let's add some lyrics to `Notes`.  You can easily set :class:`~music21.note.Lyric`\n",
    "objects just by setting the :meth:`lyric <music21.note.GeneralNote.lyric>` property. (For reference, the `lyric` attribute is actually an attribute of :class:`~music21.note.GeneralNote`, which is a \"base class\" from which the `Note` class \"inherits\". In other words, the `Note` class gains the `lyric` attribute from `GeneralNote`. But that's not too important.)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [],
   "source": [
    "otherNote = note.Note(\"F6\")\n",
    "otherNote.lyric = \"I'm the Queen of the Night!\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "But let's do something more complex.  Here I add multiple lyrics\n",
    "to `n1` using the `Note's` :meth:`~music21.note.GeneralNote.addLyric` method.\n",
    "And instead of adding a simple String, I'll add as a lyric the name of the\n",
    "note itself and its `pitchClassString`. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [],
   "source": [
    "n1.addLyric(n1.nameWithOctave)\n",
    "n1.addLyric(n1.pitch.pitchClassString)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Finally, lets put the `quarterLength` of the note as a string with a\n",
    "preface \"QL: \":"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [],
   "source": [
    "n1.addLyric('QL: %s' % n1.quarterLength)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The format '`QL: %s`' says to put the first thing outside the quotes\n",
    "in place of `%s` as a string (the \"s\" in `%s` means to make it a\n",
    "string.  Remember that `.quarterLength` is not a string, but a \n",
    "float)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As it should be becoming clear, we can always check our work \n",
    "with the :meth:`~music21.base.Music21Object.show` method."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 95,
       "width": 214
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "n1.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If we now edit the :meth:`quarterLength <music21.base.Music21Object.quarterLength>` property we can still change the\n",
    "`Note`'s `Duration`. But because we already set the lyric to show\n",
    "\"`QL: 1.0`, it won't be changed when we `.show()` it again in the following \n",
    "example."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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C3w3x32uAz4EXO+8tgUwNcd9iogURvfqJM0VwNuc56Oxpuu4YVjykRXAbs7r44CPpWz/AeAPNdZlEvA8UVKcA7G5v0VE2ooyf0kWBrAAW4q9PhE4p8p6PZ71fFZgTeV7Bs91xSwibUmBWbJygue1Pmwc8siEdYZhrTa1BGaAR4kCsy89qIjIkKfALHk4DtgXy9w1hfTxzwN1bBt/0cgAAAfTSURBVPfZ4N9+bG5vERGRjtJISs4tgdVY03N3xvW5KajH/RlvV0REZEi4gfoC81jgTzQ2NeNkbFrJpJmp9nPqcWSd2xYRERnyuoAnKA/Mb04oOxo4HLjTKeu755xkO6x5OpxC8kTKb7PMxu4pl4Dr6tiuiIjIkDcFeCvwayoTiKwG7gL+AszHekk/gY01jpfdvo59HuBZ/35s+sjzgWXBa5dhV9YiIiId493Ul+3LtzzdwH5/l7CtAeCWoF4iIm1PCUZkMJkJ7I0lE1mD9cK+D1hUZKVEREREREREREREREREREREREREREREREREREREREREREREREREREREREREJDdZT2Qv7W9TYFdgcyyfdW+x1REREelMRwH/oXL2p/nATgXWS0REpON8nvRpHlcAswqrnYiISAeZCawLlmuAzwIfAG6mPDj/tqgKioiIdJJrgCXALrHXu4DfEwXmha2tloiISOc5CBgADkh4/7VEgXlpqyolItLOhhVdARnUngDeAdyU8P6A8/gvuddGREREUp1EdMX8/oLrIiIi0tFeBSzHgvKPCq6LiIhIRzsUWIQF5eXAqGKrIyIi0nm6sfvNf6ZyHPN9KMmIiIhIS80AVmEdvnxJRtYDLy+sdiIiIh1qJDZM6iJgA+XB+WfFVUtEREReBbxIFJgXFFsdEREReT9RYF5XcF1EREQ63gSi+859BddFREREsFzaypctIpIBpeSUZo0EpgSPryqyIiIiIgLHY1fLA8DuBddFRESkre0NPAw8iQ2P2iL2/u7AMiwwn9LaqomIiHSe0ygfp7wO+B5wDPAdLKnIOuCLRVVQRESkk2xHlBM7vmwAfgK8rLDaiYi0oa6iKyCDXg+wB5YLuxvref0INldzf3HVEhEREREREREREREREREREREREREREREREREREREREREREREREREREWlUd9EVkEFlBjAHS8O5ouC6ZGksMBd4OuPtbgu8EngepScVEZEMTAHOAuYDL1A+ScVK4BbgAmCrhPVnAXcC/0pZbsiv+lWNAT4NPAcsz2ib04FLsKkw3Vm3bgQOzmgfIiLSgd5I+cxRvcDtwA+wYLrKeW8F8D7PNmYCZwD3UDn71IvAhcD78/wQCUYBJwHPOvXJIjBPBx4KtrcIm+7yVODvRDNuHZ7BfkREpIN0YXMpDxAFrXnAuFi5HiywusH2MuwqNG4kdlXqlj0sh7rXYh/gGSpPFJoNzFOJgvJGYC/nvYlEJzm92EmPiIhITY6hPGCdT/r0n2fGyn8rodz8WLnNM6pvvfYCPglsAXyN7ALzl51tXeB5/wjn/Tub3JeIiHSIzYBlRAHkCWBEDevd4qzTh83NHHcl5YF5VAb1bdahZBOYhwOLnW3t7ykzArvXHJbZs4n9iYhIh/gl5cHz6BrXe3tsvb9SeZV9BYMvMB9MNoH5KGc7vSR/tpuccpc2sT8REekAm1MeONcDo2tctxt4PLZ+/Iowq8A8EfgM8Hlghwa3EcoqMLsnNLellPuqU+75JvYnIh1sWNEVkJaJB7nbsabXWmwE/hx77VVN18jva8C3sXvbN2Kd0IrmDhd7JqWcO056KoOj1UBEhhgF5s4RD6S317l+PDlHXoF5H+fxdCyJR9HcwPxiSrn4ey/LoS4i0uYUmDtH/Ip5SZ3rPxV7nldgnuc8/gfwcE77qdUwYEvneVpgjmdLU2AWkboNhmZCaY1Zsed9da5fij2v9f50vb6ONZtPBa737LfVxlP+d7I6pWz8vc2yr46ItDsF5s7R7NVc/EqxlmFWjaq3mT1PK7GMXuHnTfvcI2PP066uRUS81JTdOR6LPZ9Z5/qbxJ5nPSHEYFWivMPXpJSyE2PPO+U7EpEMKTB3jsdjz+NN29XMjT2P33NuZ26AjQdfUt5TYBaRuikwd44Fsef1BuZ4tqtbmqjLUPMf5/GUlHJuq8JKbCIQEZG6KDB3jtuAu5znmwD71rjuTsB2zvMlwHUZ1et9wfbqPVFopfnO47kk5xbfw3mclohEREQEgDdRnp3ryhrXmxdb7yueMo1k/hqOXckvJZ+TxKwyf40J1g+3tXNCOTef9iFN7E9ERDrI1dSXL/tNlE8ReQcWUONuoL7A3A38NCj7W+f1KVjgvxzYtco2qqlnEouRwInA74HXe94/39nWKZ73d3HefxS1RomISI1GAP9DFEQGsBSYvmFAH8SGCoVlH6Y8C1aoC5upyg3Mb0nY/1jgHcDfnbIfdt6/yHl9Mf6TgFqd6Gyrn/SpKI93yvZRnlQErBf7C8H7L1L+PXRjE3vUOzmIiIgIYIHkfCwAhcHkQeBc4FjgO9j9aDfQXk/lkKkpwFuBX8fKhsFtAXA3FoTvxXpyD3jKumOq746994oGPtssbH7kp2Lb+iGWsSz+OcBmg3LLHuYpM4do2sy/Y83VewI/d9b7VJ31FRERecm2WHOyG6Djyw3AQQnrvztlvVqXf8e2eYrz3h0NfKY5NezzJs96hxKdNCzG7iv7zAXuCcpudLb5NHBCA/UVERGpcBD+4HwdyT2Q8zQHeCN29dtK22IBupZ0o1Oxe9EHU/9VvYiISFVH429mvgB1ZBIRESnEe4C1VAbnPwHTCqyXiIhIx9oeC8Tx4LwM6xS2E8U0b4uIiHS0vYCLqezZXMKuqh+g+XHGIiIS839xge7MFHGFmgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 95,
       "width": 243
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "n1.quarterLength = 6.25\n",
    "n1.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "There many more things we can do with a `Note` object, but\n",
    "I'm itching to look at what happens when we put multiple\n",
    "`Notes` together in a row.  And to do that we'll need to\n",
    "learn a bit about the topic of :ref:`Chapter 4: Streams <usersGuide_04_stream1>`. "
   ]
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "celltoolbar": "Tags",
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
